
#ifndef ICLASSBYTE_H
#define ICLASSBYTE_H

#include <BClass>

namespace BWE
{
	class ClassByte : public BClass
	{
	public:
		ClassByte();

	protected:
		void create(int argc, BValue* argv);
		void create_byte(int argc, BValue* argv);
		void create_char(int argc, BValue* argv);
		void create_short(int argc, BValue* argv);
		void create_int(int argc, BValue* argv);
		void create_long(int argc, BValue* argv);
		void create_real(int argc, BValue* argv);
		void create_float(int argc, BValue* argv);
		void create_double(int argc, BValue* argv);
		void release(int argc, BValue* argv);

		void assign_bool(int argc, BValue* argv);
		void assign_byte(int argc, BValue* argv);
		void assign_char(int argc, BValue* argv);
		void assign_short(int argc, BValue* argv);
		void assign_int(int argc, BValue* argv);
		void assign_long(int argc, BValue* argv);
		void assign_real(int argc, BValue* argv);
		void assign_float(int argc, BValue* argv);
		void assign_double(int argc, BValue* argv);

		void positive(int argc, BValue* argv);
		void negative(int argc, BValue* argv);
		void plus_plus(int argc, BValue* argv);
		void minus_minus(int argc, BValue* argv);

		void plus_byte(int argc, BValue* argv);
		void plus_char(int argc, BValue* argv);
		void plus_short(int argc, BValue* argv);
		void plus_int(int argc, BValue* argv);
		void plus_long(int argc, BValue* argv);
		void plus_real(int argc, BValue* argv);
		void plus_float(int argc, BValue* argv);
		void plus_double(int argc, BValue* argv);

		void plus_assign_byte(int argc, BValue* argv);
		void plus_assign_char(int argc, BValue* argv);
		void plus_assign_short(int argc, BValue* argv);
		void plus_assign_int(int argc, BValue* argv);
		void plus_assign_long(int argc, BValue* argv);
		void plus_assign_real(int argc, BValue* argv);
		void plus_assign_float(int argc, BValue* argv);
		void plus_assign_double(int argc, BValue* argv);

		void minus_byte(int argc, BValue* argv);
		void minus_char(int argc, BValue* argv);
		void minus_short(int argc, BValue* argv);
		void minus_int(int argc, BValue* argv);
		void minus_long(int argc, BValue* argv);
		void minus_real(int argc, BValue* argv);
		void minus_float(int argc, BValue* argv);
		void minus_double(int argc, BValue* argv);

		void minus_assign_byte(int argc, BValue* argv);
		void minus_assign_char(int argc, BValue* argv);
		void minus_assign_short(int argc, BValue* argv);
		void minus_assign_int(int argc, BValue* argv);
		void minus_assign_long(int argc, BValue* argv);
		void minus_assign_real(int argc, BValue* argv);
		void minus_assign_float(int argc, BValue* argv);
		void minus_assign_double(int argc, BValue* argv);

		void mod_byte(int argc, BValue* argv);
		void mod_char(int argc, BValue* argv);
		void mod_short(int argc, BValue* argv);
		void mod_int(int argc, BValue* argv);
		void mod_long(int argc, BValue* argv);
		void mod_real(int argc, BValue* argv);
		void mod_float(int argc, BValue* argv);
		void mod_double(int argc, BValue* argv);

		void mod_assign_byte(int argc, BValue* argv);
		void mod_assign_char(int argc, BValue* argv);
		void mod_assign_short(int argc, BValue* argv);
		void mod_assign_int(int argc, BValue* argv);
		void mod_assign_long(int argc, BValue* argv);
		void mod_assign_real(int argc, BValue* argv);
		void mod_assign_float(int argc, BValue* argv);
		void mod_assign_double(int argc, BValue* argv);

		void equal_bool(int argc, BValue* argv);
		void equal_byte(int argc, BValue* argv);
		void equal_char(int argc, BValue* argv);
		void equal_short(int argc, BValue* argv);
		void equal_int(int argc, BValue* argv);
		void equal_long(int argc, BValue* argv);
		void equal_real(int argc, BValue* argv);
		void equal_float(int argc, BValue* argv);
		void equal_double(int argc, BValue* argv);

		void unequal_bool(int argc, BValue* argv);
		void unequal_byte(int argc, BValue* argv);
		void unequal_char(int argc, BValue* argv);
		void unequal_short(int argc, BValue* argv);
		void unequal_int(int argc, BValue* argv);
		void unequal_long(int argc, BValue* argv);
		void unequal_real(int argc, BValue* argv);
		void unequal_float(int argc, BValue* argv);
		void unequal_double(int argc, BValue* argv);

		void greater_byte(int argc, BValue* argv);
		void greater_char(int argc, BValue* argv);
		void greater_short(int argc, BValue* argv);
		void greater_int(int argc, BValue* argv);
		void greater_long(int argc, BValue* argv);
		void greater_real(int argc, BValue* argv);
		void greater_float(int argc, BValue* argv);
		void greater_double(int argc, BValue* argv);

		void less_byte(int argc, BValue* argv);
		void less_char(int argc, BValue* argv);
		void less_short(int argc, BValue* argv);
		void less_int(int argc, BValue* argv);
		void less_long(int argc, BValue* argv);
		void less_real(int argc, BValue* argv);
		void less_float(int argc, BValue* argv);
		void less_double(int argc, BValue* argv);

		void greater_equal_byte(int argc, BValue* argv);
		void greater_equal_char(int argc, BValue* argv);
		void greater_equal_short(int argc, BValue* argv);
		void greater_equal_int(int argc, BValue* argv);
		void greater_equal_long(int argc, BValue* argv);
		void greater_equal_real(int argc, BValue* argv);
		void greater_equal_float(int argc, BValue* argv);
		void greater_equal_double(int argc, BValue* argv);

		void less_equal_byte(int argc, BValue* argv);
		void less_equal_char(int argc, BValue* argv);
		void less_equal_short(int argc, BValue* argv);
		void less_equal_int(int argc, BValue* argv);
		void less_equal_long(int argc, BValue* argv);
		void less_equal_real(int argc, BValue* argv);
		void less_equal_float(int argc, BValue* argv);
		void less_equal_double(int argc, BValue* argv);
	};
}

#endif
